package com.xbb.entity;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

public class Appointment{

    private static final long serialVersionUID = 1L;

    //  预约订单ID
    private Integer id;

    //  服务ID
    private Integer servicesId;

    //  用户ID
    private Integer userId;

    //  预约日期
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date appointmentDate;

    //  预约事项
    private String matter;

    //  服务要求
    private String describes;

    //  审核状态
    private Integer status;

    //  审核意见
    private String opinion;

    //  年份
    private Integer year;

    //  月份
    private Integer month;

    //  创建日期
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private Date creatDate;

    //  员工ID
    private Integer staffId;

    //  编号
    private String number;

    //  订单金额
    private Double money;

    private Services services;

    private User user;

    private User staff;

    public void setId(Integer id){
        this.id = id;
    }

    public Integer getId(){
        return id;
    }

    public void setServicesId(Integer servicesId){
        this.servicesId = servicesId;
    }

    public Integer getServicesId(){
        return servicesId;
    }

    public void setUserId(Integer userId){
        this.userId = userId;
    }

    public Integer getUserId(){
        return userId;
    }

    public void setAppointmentDate(Date appointmentDate){
        this.appointmentDate = appointmentDate;
    }

    public Date getAppointmentDate(){
        return appointmentDate;
    }

    public void setMatter(String matter){
        this.matter = matter;
    }

    public String getMatter(){
        return matter;
    }

    public void setDescribes(String describes){
        this.describes = describes;
    }

    public String getDescribes(){
        return describes;
    }

    public void setStatus(Integer status){
        this.status = status;
    }

    public Integer getStatus(){
        return status;
    }

    public void setOpinion(String opinion){
        this.opinion = opinion;
    }

    public String getOpinion(){
        return opinion;
    }

    public void setYear(Integer year){
        this.year = year;
    }

    public Integer getYear(){
        return year;
    }

    public void setMonth(Integer month){
        this.month = month;
    }

    public Integer getMonth(){
        return month;
    }

    public void setCreatDate(Date creatDate){
        this.creatDate = creatDate;
    }

    public Date getCreatDate(){
        return creatDate;
    }

    public void setStaffId(Integer staffId){
        this.staffId = staffId;
    }

    public Integer getStaffId(){
        return staffId;
    }

    public void setNumber(String number){
        this.number = number;
    }

    public String getNumber(){
        return number;
    }

    public void setMoney(Double money){
        this.money = money;
    }

    public Double getMoney(){
        return money;
    }

    public Services getServices(){
        return services;
    }

    public void setServices(Services services){
        this.services = services;
    }

    public User getUser(){
        return user;
    }

    public void setUser(User user){
        this.user = user;
    }

    public User getStaff(){
        return staff;
    }

    public void setStaff(User staff){
        this.staff = staff;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("servicesId", getServicesId())
                .append("userId", getUserId())
                .append("appointmentDate", getAppointmentDate())
                .append("matter", getMatter())
                .append("describes", getDescribes())
                .append("status", getStatus())
                .append("opinion", getOpinion())
                .append("year", getYear())
                .append("month", getMonth())
                .append("creatDate", getCreatDate())
                .append("staffId", getStaffId())
                .append("number", getNumber())
                .append("money", getMoney())
                .toString();
    }
}
